package com.xdcplus.web.service.trace;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xdcplus.web.common.pojo.entity.trace.TracePacketBatchInfo;
import com.xdcplus.web.common.pojo.vo.trace.PacketPrdInfoVO;
import com.xdcplus.web.common.pojo.vo.trace.PacketShortInfoVO;
import com.xdcplus.web.common.pojo.vo.trace.PacketTraceInfoVO;

import java.sql.Timestamp;
import java.util.List;

/**
 * @author Devin.Sang
 */
public interface PacketTraceWashService extends IService<TracePacketBatchInfo> {

    Long getLastPacketId();


    List<PacketShortInfoVO> getPacketInfo(Long lastId, boolean isReversed);


    List<PacketPrdInfoVO> getPrdByCodes(List<String> packetCodes);

    List<PacketTraceInfoVO> getTraceInfoByPacketCodes(List<String> packetCodes, Timestamp minTime, Timestamp maxTime);


    List<PacketTraceInfoVO> getTraceInfoByToolCodes(List<String> toolCodes, Timestamp minTime, Timestamp maxTime);


    PacketTraceInfoVO getTraceInfoByCreatedTime(String endTime, Timestamp minTime, Timestamp maxTime,
                                                Integer unpackTimeRange);

    PacketTraceInfoVO getMeterialOrderByCreatedTime(String endTime, Timestamp minTime, Timestamp maxTime, Integer batchMtrlTimeRange);
}
